function setup_lightbox(jQueryobject)
{
	jQueryas = jQueryobject.find('a');
	
	jQueryas.each( function()
	{
		jQuerya = jQuery(this);
		
		if (jQuerya.length > 0)
		{
			ext = jQuerya.attr('href');
			ext = ext.substring(ext.length-3, ext.length).toLowerCase();

			if (ext == 'jpg' || ext == 'gif' || ext == 'png')
			{
				jQuerya.lightbox
				({
					id: 'single',
					path: config.images_dir,
					speed: 500,
					single: true
				});
			}
		}
	});
}

var displays =
{
	'small':
	{
		width: 180.0,
		height: 110.0,
		position: 0.375,
		index: 10.0,
		border_height: 2,
		shadow:
		{
			top: 0.0,
			left: -10.0,
			width: 200.0,
			height: 140.0	
		}
	},
	'medium':
	{
		width: 240.0,
		height: 150.0,
		position: 0.245,
		index: 20.0,
		border_height: 3,
		shadow:
		{
			top: -10.0,
			left: -30.0,
			width: 300.0,
			height: 200.0	
		}
	},
	'big':
	{
		width: 340.0,
		height: 215.0,
		position: 0.0,
		index: 30.0,
		border_height: 4,
		shadow:
		{
			top: 0.0,
			left: -40.0,
			width: 420.0,
			height: 265.0	
		}
	},
	'hidden':
	{
		width: 90.0,
		height: 33.0,
		position: 0.0,
		index: 5.0,
		border_height: 1,
		shadow:
		{
			top: 0.0,
			left: -10.0,
			width: 110.0,
			height: 70.0
		}
	}
};
	
var displays_alt =
{
	'small':
	{
		width: 180.0,
		height: 110.0,
		position: 0.205,
		index: 10.0,
		border_height: 2,
		shadow:
		{
			top: 0.0,
			left: -10.0,
			width: 200.0,
			height: 140.0	
		}
	},
	'medium':
	{
		width: 240.0,
		height: 150.0,
		position: 0.0,
		index: 20.0,
		border_height: 3,
		shadow:
		{
			top: -10.0,
			left: -30,
			width: 300.0,
			height: 200.0	
		}
	},
	'hidden':
	{
		width: 90.0,
		height: 33.0,
		position: 0.0,
		index: 5.0,
		border_height: 1,
		shadow:
		{
			top: 0.0,
			left: -10.0,
			width: 110.0,
			height: 70.0
		}
	}
};

function init_display(display, type, direction, config)
{
	if (typeof config == 'undefined')
	{
		var config = displays;
	}
		
	var width = display.parents('div.displays').width();
	var img = display.children('div.item').find('img');
	var item = display.children('div.item');
	var shadow = display.children('img.displays-shadow');
	var border = display.children('div.displays-border');
		
	display.find('div.desc').hide();
		
	border.css
	({
		'width': config[type].width,
		'height': config[type].border_height,
		'top': config[type].height,
		'position': 'absolute'
	});
		
	shadow.css
	({
		'top': config[type].shadow.top,
		'left': config[type].shadow.left,
		'width': config[type].shadow.width,
		'height': config[type].shadow.height,
		'position': 'absolute'
	});
		
	jQuery.merge(item, img).css
	({
		'width': config[type].width,
		'height': config[type].height
	});
		
	display.css
	({
		'left': (typeof config[type].position != 'undefined' ? (width * config[type].position) * direction + width / 2 : config[type].left),
		'z': config[type].index,
		'margin-left': -config[type].width/2
	});
		
	display.removeClass('small').removeClass('medium').removeClass('big').removeClass('hidden');
	display.addClass(type);
	display.css('z-index', config[type].index);
		
	if (type == 'big')
	{
		display.find('div.desc').show();
	}
}

function animate_display(display, type, direction, config)
{
	if (typeof config == 'undefined')
	{
		var config = displays;
	}
	
	var width = display.parents('div.displays').width();
	var img = display.children('div.item').find('img');
	var item = display.children('div.item');
	var shadow = display.children('img.displays-shadow');
	var border = display.children('div.displays-border');
	
	display.find('div.desc').fadeOut(300);
	
	border.animate
	({
		'width': config[type].width,
		'height': config[type].border_height,
		'top': config[type].height
	},
	{
		duration: 500,
		step: function()
		{
			
		},
		complete: function()
		{
			
		}
	});
	
	shadow.animate
	({
		'top': config[type].shadow.top,
		'left': config[type].shadow.left,
		'width': config[type].shadow.width,
		'height': config[type].shadow.height
	},
	{
		duration: 500,
		step: function()
		{
			
		},
		complete: function()
		{
			
		}
	});
	
	jQuery.merge(item, img).animate
	({
		'width': config[type].width,
		'height': config[type].height
	},
	{
		duration: 500,
		step: function()
		{
			
		},
		complete: function()
		{
			
		}
	});

	display.animate
	({
		'left': (width * config[type].position) * direction + width / 2,
		'z': config[type].index,
		'margin-left': -config[type].width/2, 
		'margin-top': -config[type].height/2
	},
	{
		duration: 500,
		step: function()
		{
			if (jQuery(this).hasClass('small') && type == 'small' || jQuery(this).hasClass('medium') && type == 'medium')
			{
				jQuery(this).css('z-index', config['hidden'].index + 1);
			}
		},
		complete: function()
		{
			jQuery(this).removeClass('small').removeClass('medium').removeClass('big').removeClass('hidden');
			jQuery(this).css('z-index', config[type].index);
			jQuery(this).addClass(type);
			
			jQuery(this).find('div.desc').hide();
			
			if (type == 'big')
			{
				jQuery(this).find('div.desc').fadeIn(300);
			}
		}
	});
}

function setup_displays(element)
{
	jQuerydisplay = element;
	var single = element.hasClass('single');

	var width = jQuerydisplay.width();
	jQueryitems = jQuerydisplay.children('ul.images').children('li');
	jQueryshadow = jQuery('<img />').attr('src', config.images_dir + 'bg/displays-shadow.png').addClass('displays-shadow');
	jQueryborder = jQuery('<div />').html('<div class="center"><div class="left-cap"></div><div class="right-cap"></div></div>').addClass('displays-border');
	
	jQueryitems.prepend(jQueryshadow).append(jQueryborder);
	
	if (single)
	{
		if (jQuerydisplay.hasClass('big'))
		{
			jQueryitems.each( function()
			{
				init_display(jQuery(this), 'big', 1, displays);
				
				jQuery(this).css
				({
					'left': width / 2
				}).hide();
			});
		} else if (jQuerydisplay.hasClass('medium'))
		{
			jQueryitems.each( function()
			{
				init_display(jQuery(this), 'medium', 1, displays);
				
				jQuery(this).css
				({
					'left': width / 2
				}).hide();
			});
		} else if (jQuerydisplay.hasClass('small'))
		{
			jQueryitems.each( function()
			{
				init_display(jQuery(this), 'small', 1, displays);
				
				jQuery(this).css
				({
					'left': width / 2
				}).hide();
			});
		}
		jQueryitems.eq(0).show();
	} else
	{
		if (jQuerydisplay.hasClass('big'))
		{
			init_display(jQueryitems.eq(0), 'small', -1, displays);
			init_display(jQueryitems.eq(1), 'medium', -1, displays);
			init_display(jQueryitems.eq(2), 'big', 1, displays);
			init_display(jQueryitems.eq(3), 'medium', 1, displays);
			init_display(jQueryitems.eq(4), 'small', 1, displays);
			
			jQueryitems.eq(4).nextAll('li').each( function()
			{
				init_display(jQuery(this), 'hidden', 1, displays);
			});
		} else if (jQuerydisplay.hasClass('medium'))
		{
			init_display(jQueryitems.eq(0), 'medium', -1, displays);
			init_display(jQueryitems.eq(1), 'big', 1, displays);
			init_display(jQueryitems.eq(2), 'medium', 1, displays);
			
			jQueryitems.eq(2).nextAll('li').each( function()
			{
				init_display(jQuery(this), 'hidden', 1, displays);
			});
		} else if (jQuerydisplay.hasClass('small'))
		{
			init_display(jQueryitems.eq(0), 'small', -1, displays_alt);
			init_display(jQueryitems.eq(1), 'medium', 1, displays_alt);
			init_display(jQueryitems.eq(2), 'small', 1, displays_alt);
			
			jQueryitems.eq(2).nextAll('li').each( function()
			{
				init_display(jQuery(this), 'hidden', 1, displays);
			});
		}
	}
}

function setup_background(element)
{
	element.slider
	({
		nav: 'ul.slider-nav',
		items: 'ul.images',
		pagination: 'ul.slider-pagination',
		visible: 1,
		slide: 1,
		auto_width: false,
		width: 1280,
		auto_height_parent: true,
		on_show: setup_lightbox
	});
	
	element.children('ul.slider-pagination').hide();
	element.children('ul.slider-nav li').hide();
}

function setup_simple(element)
{
	width = element.children('ul.items').children('li').width();
	height = element.children('ul.items').children('li').height();
	
	element.children('ul.items').width(width).height(height);
	
	element.children('ul.items').children('li').hide().eq(0).show();
	
	element.children('div.featured-ribbon').css('top', height/2 - 60);
}

function setup_pure(element)
{
	width = element.parent().width();
	
	element.children('ul.images').children('li').width(width);
	
	element.slider
	({
		nav: 'ul.slider-nav',
		items: 'ul.images',
		pagination: 'ul.slider-pagination',
		visible: 1,
		slide: 1,
		width: width,
		auto_width: false,
		auto_height_parent: true,
		on_show: setup_lightbox
	});	
}

function setup_video(element)
{
	element.slider
	({
		nav: 'ul.slider-nav',
		items: 'ul.video-previews',
		pagination: 'ul.slider-pagination',
		visible: 2,
		slide: 1,
		auto_width: false,
		width: 340,
		auto_height_parent: false
	});
}

function setup_wide(element)
{
	element.slider
	({
		nav: 'ul.slider-nav',
		items: 'ul.images',
		pagination: 'ul.slider-pagination',
		visible: 1,
		slide: 1,
		auto_width: false,
		width: 980,
		auto_height_parent: false,
		on_show: setup_lightbox
	});
}

jQuery( function()
{
	// JS SUPPORT BEGIN

	jQuery(config.js_support).addClass('js');
	
	// JS SUPPORT END
	
	// TOGGLE BEGIN
	
	jQuery('a.toggle').each( function()
	{
		if ( ! jQuery(this).hasClass('hide'))
		{
			jQuery(this).next().hide();
		} else
		{
			jQuery(this).next().show();
		}
	});
	
	jQuery('a.toggle').click( function()
	{
		jQuery(this).toggleClass('hide');
		
		if (jQuery(this).hasClass('hide'))
		{
			jQuery(this).next().show();
		} else
		{
			jQuery(this).next().hide();
		}
		
		return false;
	});
	
	// TOGGLE END
	
	// TWITTER SLIDER BEGIN
	
	jQuery('#main-heading > #twitter_div').css('padding-bottom', '50px').slider
	({
		nav: 'ul.slider-nav',
		items: 'ul#twitter_update_list',
		wrapper_class: 'twiter_wrapper',
		visible: 3,
		slide: 1,
		speed: 500,
		fade: true,
		auto_height_parent: true
	});

	/*jQuery('#twitter_div').slider
	({
		nav: 'ul.slider-nav',
		items: 'ul#twitter_update_list',
		wrapper_class: 'twiter_wrapper',
		visible: 3,
		slide: 1,
		speed: 500,
		fade: true,
		width: 200,
		auto_width: false,
		horizontal: false
	});*/
	
	jQuery('div.sidebar > #twitter_div').each( function()
	{
		jQuery(this).data('index', 0);
		jQuerytweets = jQuery(this).children('ul#twitter_update_list').children('li');
		width = jQuery(this).parent().width();
		
		if (jQuerytweets.length > config.twitter_widget.visible)
		{
			height = 0;
			
			for (i = 0; i < config.twitter_widget.visible - 1; i++)
			{
				height += jQuerytweets.eq(i).outerHeight();
			}
			
			jQuerytwitter_wrapper = jQuery('<div />').addClass('twitter_wrapper').css
			({
				'position': 'relative',
				'overflow': 'hidden',
				'width': width,
				'height': height - 20
			});
		
			jQuery(this).children('ul#twitter_update_list').wrap(jQuerytwitter_wrapper).css
			({
				'top': 0,
				'position': 'absolute',
				'width': width,
				'height': 9999
			});
			
			jQuery(this).children('ul.slider-nav').children('li.prev').click( function()
			{
				jQuerytweets = jQuery(this).parent().prev('.twitter_wrapper').children('ul#twitter_update_list');
				size = jQuerytweets.children('li').length;
				current = jQuerytweets.parents('#twitter_div').data('index');
				prev = current - 1;
				
				if (prev >= 0)
				{
					height = 0;
					
					for (i = 0; i < prev; i++)
					{
						if (jQuerytweets.children('li').eq(i).length > 0)
						{
							height += jQuerytweets.children('li').eq(i).outerHeight();
						}
					}

					jQuerytweets.animate
					({
						'top': -(height + 20)
					}, config.twitter_widget.speed, function()
					{
						
					});
					
					height = 0;
					
					for (i = prev; i < prev + config.twitter_widget.visible; i++)
					{
						if (jQuerytweets.children('li').eq(i).length > 0)
						{
							height += jQuerytweets.children('li').eq(i).outerHeight();
						}
					}
					
					jQuerytweets.parent('.twitter_wrapper').animate
					({
						'height': height
					}, config.twitter_widget.speed, function()
					{
						
					});
					
					jQuerytweets.parents('#twitter_div').data('index', prev);
				}
				
				return false;
			});
			
			jQuery(this).children('ul.slider-nav').children('li.next').click( function()
			{
				jQuerytweets = jQuery(this).parent().prev('.twitter_wrapper').children('ul#twitter_update_list');
				size = jQuerytweets.children('li').length;
				current = jQuerytweets.parents('#twitter_div').data('index');
				next = current + 1;
				
				if (next + config.twitter_widget.visible < size)
				{
					height = 0;
					
					for (i = 0; i < next; i++)
					{
						if (jQuerytweets.children('li').eq(i).length > 0)
						{
							height += jQuerytweets.children('li').eq(i).outerHeight();
						}
					}
					
					jQuerytweets.animate
					({
						'top': -(height + 20)
					}, config.twitter_widget.speed, function()
					{
						
					});
					
					height = 0;
					
					for (i = next; i < next + config.twitter_widget.visible; i++)
					{
						if (jQuerytweets.children('li').eq(i).length > 0)
						{
							height += jQuerytweets.children('li').eq(i).outerHeight();
						}
					}
					
					jQuerytweets.parent('.twitter_wrapper').animate
					({
						'height': height
					}, config.twitter_widget.speed, function()
					{
						
					});
					
					jQuerytweets.parents('#twitter_div').data('index', next);
				}
				
				
				return false;
			});
		}
	});
	
	// TWITTER SLIDER END
	
	// DESCRIPTION FOR IMAGES FROM TITLE ATTRIBUTE BEGIN
	
	jQuery('a.frame > img').each( function()
	{
		if (jQuery(this).attr('title') != '' && jQuery(this).parents('div.flickr-feed').length == 0)
		{
			title = jQuery(this).attr('title');

			jQuery(this).after
			(
				jQuery('<span />').addClass('title-description').text(title)
			);
			
			if (jQuery(this).hasClass('aligncenter') || jQuery(this).parent('a.frame').hasClass('aligncenter'))
			{
				jQuery(this).load( function()
				{
					jQueryimg = jQuery(this);
					
					jQuery(this).parent('a.frame').css
					({
						'width': jQueryimg.width(),
						'margin-left': 'auto',
						'margin-right': 'auto'
					});
				});
			}
		}
	});
	
	jQuery('.frame > *').each( function()
	{
		if (jQuery(this)[0].tagName.toLowerCase() != 'img' && jQuery(this)[0].tagName.toLowerCase() != 'span')
		{
			jQuery(this).parent('.frame').width(jQuery(this).width());
		}
	});
	
	jQuery('.lightbox-icon').each( function()
	{
		width = jQuery(this).parent().width();
		height = jQuery(this).parent().height();
		
		jQuery(this).css
		({
			'position': 'absolute',
			'top': 0,
			'left': 0,
			'width': width,
			'height': height
		});
	});
		
	// DESCRIPTION FOR IMAGES FROM TITLE ATTRIBUTE END
	
	// SCROLL TOP BEGIN
	
	jQuery('a[href=#header],a.separator').click( function()
	{
		jQuery('html,body').animate
		({
			'scrollTop': 0
		}, 300);
		
		return false;
	});
	
	// SCROLL TOP END
	
	// TOOLTIPS BEGIN

	jQuery(config.tooltips_standalone).tooltip
	({
		tooltip: '.tooltip',
		x: 20,
		y: 25,
		standalone: true
	});
	
	jQuery(config.tooltips).tooltip
	({
		tooltip: '.tooltip',
		x: 20,
		y: 25
	});
	
	// TOOLTIPS END
	
	// PRICING TABLE HOVER BEGIN
	
	jQuery('table.pricing-1').each( function()
	{
		index = jQuery(this).find('table').index(jQuery(this).find('table.current'));
		
		jQuery(this).data('default-col', index);
	});
	
	jQuery('table.pricing-1').hover( function()
	{

	}, function()
	{
		index = jQuery(this).data('default-col');
		
		jQuery(this).find('table').removeClass('current').eq(index).addClass('current');
	});
	
	jQuery('table.pricing-1 td > table').hover( function()
	{
		jQuery(this).parents('table.pricing-1').find('table').removeClass('current');
		jQuery(this).addClass('current');
	}, function()
	{
		jQuery(this).removeClass('current');
	});

	// PRICING TABLE HOVER END
	
	// TABLE TOOLTIPS BEGIN
	
	jQuery('td').each( function()
	{
		if (typeof jQuery(this).attr('custom-description') != 'undefined' && jQuery(this).attr('custom-description') != '')
		{
			desc = jQuery(this).attr('custom-description');
			jQuery(this).append(jQuery('<span />').hide().addClass('tooltip').html('<span>' + desc + '</span>'));
		}
	});
	
	jQuery('td').tooltip
	({
		tooltip: '.tooltip',
		x: 20,
		y: 25,
		offset: false
	});
	
	// TABLE TOOLTIPS END
	
	// MENU BEGIN
		
	jQuery('ul.menu-1 li[class!=current] ul').hide();
	
	jQuery('ul.menu-1 > li a').click( function()
	{
		jQuerycurrent = jQuery(this);
		jQuerynot_current = jQuery(this).parents('ul.menu-1').children('li').children('a').not(this);
		
		jQuerycurrent.parent('li').addClass('current');
		jQuerycurrent.next('ul').slideDown(500);
		
		if (jQuerynot_current.next('ul:visible').length > 0)
		{
			jQuerynot_current.next('ul:visible').slideUp(500, function()
			{
				jQuery(this).parent('li').removeClass('current');
			});
		} else
		{
			jQuerynot_current.parent('li').removeClass('current');
		}
		
		jQuerycurrent.parent('li').addClass('current');
	
		if (jQuerycurrent.next('ul').length > 0)
		{
			return false;
		}
	});

	// MENU END
	
	// TABS BEGIN
	
	jQuery('.tabs').tabs();
	
	// TABS END
	
	jQuerybackground = jQuery('div.background').clone();
	jQuery('div.background').remove();
	jQuery('div#container').prepend(jQuerybackground);

	// NAV BEGIN
	
	jQuery(config.dropdown).dropdown();
	
	// NAV END
	
	// FORM VALIDATION BEGIN
	
	jQuery(config.form_validate).blur( function()
	{
		val = jQuery(this).val();

		jQuery(this).removeClass('valid');
			
		if (val == '' || val == jQuery(this).data('placeholder'))
		{
			jQuery(this).addClass('error');
		} else
		{
			if (jQuery(this).attr('name') == 'email' || jQuery(this).attr('id') == 'email' || jQuery(this).hasClass('email'))
			{
				if (/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+jQuery/.test(val))
				{
					jQuery(this).removeClass('error').addClass('valid');
				} else
				{
					jQuery(this).addClass('error');
				}
			} else
			{
				jQuery(this).removeClass('error').addClass('valid');
			}
		}
	});
	
	jQuery('form').submit( function()
	{
		if (jQuery(this).find('input.error, textarea.error').length > 0)
		{
			return false;
		}
	});

	// FORM VALIDATION END
	
	// FORM PLACEHOLDERS BEGIN
	
	jQuery(config.input_placeholder).placeholder(config.placeholder);
		
	// FORM PLACEHOLDERS END
	
	// PAGINATION POSITIONING BEGIN
	
	jQuerypagination = jQuery('ul.pagination');
	
	jQuerypagination.each( function()
	{
		if ( ! jQuery(this).hasClass('compact'))
		{			
			jQuery(this).css('margin-left', jQuery(this).parent().width() / 2 - jQuery(this).outerWidth(true) / 2);
		}
	});

	// PAGINATION POSITIONING END
	
	// BORDER FIX BEGIN
	
	if (jQuery.browser.msie || (jQuery.browser.mozilla && jQuery.browser.version < '1.9') || jQuery.browser.opera)
	{
		jQuery(config.border_shadow).addClass('border');
	}
	
	// BORDER FIX END
	
	// DROP CAP BEGIN
	
	jQuery('p.first-letter').each( function()
	{
		html = jQuery(this).html();
		
		for (var i = 0; i < html.length; i++)
		{
			if (i == 0 && /^[a-z]+jQuery/.test(html.substring(0, 1).toLowerCase()))
			{
				jQuery(this).html('<span class="dropcap">' + html.substring(0, 1) + '</span>' + html.substring(i + 2, html.length));
				break;
			} else
			{
				if (html.substring(i, 1) == '>' && /^[a-z]+jQuery/.test(html.substring(i + 1, 1).toLowerCase()))
				{
					
					jQuery(this).html(html.substring(0, i) + '<span class="dropcap">' + html.substring(i + 1, 1) + '</span>' + html.substring(i + 2, html.length));
					break;
				}
			}
		}
	});
	
	// DROP CAP END
	
	// ZOOMBOX ENLARGED BEGIN
	
	jQuery('div.zoombox').each( function()
	{
		jQueryenlarged = jQuery(this).children('div.enlarged');

		if (jQueryenlarged.children('img').length == 0)
		{
			jQuerydesc = jQuery(this).children('ul.images').children('li').eq(0).children('div.desc').clone();
			jQuerydesc.show();
			var src = jQuery(this).children('ul.images').children('li').eq(0).children('a').attr('href');
			
			jQueryenlarged.append(jQuery('<img />').attr('src', src));
			jQueryenlarged.append(jQuerydesc);
		}
	});
	
	// ZOOMBOX ENLARGED END
	
	// DISPLAYS INITIALIZATION BEGIN

	jQuery('div.displays').each( function()
	{
		setup_displays(jQuery(this));
	});
	
	// DISPLAYS INITIALIZATION END
	
	// FEATURED SLIDER BEGIN
	
	jQuery('div.featured-1').each( function()
	{
		width = jQuery(this).width();
		
		jQuery(this).children('ul.items').children('li').css('width', width - (width * 0.2));
	});
	
	jQuery('div.featured-1').slider
	({
		nav: 'ul.slider-nav',
		items: 'ul.items',
		visible: 1,
		slide: 1,
		speed: 500,
		auto_height_parent: true
	});
	
	// FEATURED SLIDER END
});

jQuery(window).load( function()
{
	// ZOOM BOX BEGIN

	jQuery('div.zoombox').each( function()
	{
		var item_width = jQuery(this).children('ul.images').children('li').width();
		
		jQuery(this).children('ul.slider-nav').css
		({
			'bottom': item_width
		}).children('li').children('a').css
		({
			'width': item_width,
			'height': item_width
		});
		
		jQueryenlarged = jQuery(this).children('div.enlarged');
		jQueryimg = jQuery(this).children('div.enlarged').children('img');
		
		jQueryenlarged.css
		({
			'overflow': 'hidden',
			'position': 'relative',
			'height': jQueryenlarged.height(),
			'width': jQueryenlarged.width()
		});
		
		if (jQuery(this).parent().width() < jQueryenlarged.width())
		{
			jQueryenlarged.width(jQuery(this).parent().width());
		}
		
		jQueryimg.css
		({
			'position': 'absolute',
			'top': jQueryenlarged.height()/2 - jQueryimg.height()/2,
			'left': jQueryenlarged.width()/2 - jQueryimg.width()/2
		});
		
		jQuery(this).children('ul.images').css
		({
			'margin-left': item_width
		});
		
		jQuery(this).slider
		({
			nav: 'ul.slider-nav',
			items: 'ul.images',
			visible: Math.round((jQuery(this).width() / item_width)) - 2,
			slide: 2,
			speed: 600,
			auto_width: false,
			width: jQueryenlarged.width() - item_width
		});
	});
	
	jQuery('div.zoombox div.enlarged').mousemove( function(e)
	{
		jQueryenlarged = jQuery(this);
		jQueryimg = jQueryenlarged.children('img');

		var x = jQueryimg.width()/2 - ((e.pageX - jQueryenlarged.offset().left) / jQueryenlarged.width() * jQueryimg.width());
		var y = jQueryimg.height()/2 - ((e.pageY - jQueryenlarged.offset().top) / jQueryenlarged.height() * jQueryimg.height());
		var offsetx = jQueryenlarged.width()/2 - (e.pageX - jQueryenlarged.offset().left);
		var offsety = jQueryenlarged.height()/2 - (e.pageY - jQueryenlarged.offset().top);

		jQueryimg.css
		({
			'top': jQueryenlarged.height()/2 - jQueryimg.height() / 2 + y - offsety, 
			'left': jQueryenlarged.width()/2 - jQueryimg.width() / 2 + x - offsetx 
		});
	});

	jQuery('div.zoombox ul.images li').live('click', function()
	{
		jQuerythis = jQuery(this);
		jQuerydesc = jQuery(this).children('div.desc').clone();
		jQueryzoombox = jQuery(this).parents('div.zoombox');
		jQueryenlarged = jQueryzoombox.children('div.enlarged');
		
		jQueryenlarged.children('div.desc').remove();
		jQueryimg = jQueryenlarged.children('img');
		
		jQueryimg.imgload(jQuerythis.children('a').attr('href')).load( function()
		{
			jQuery(this).css
			({
				'top': jQueryenlarged.height()/2 - jQuery(this).height()/2,
				'left': jQueryenlarged.width()/2 - jQuery(this).width()/2
			});
		}, { path: config.images_dir });
		
		jQueryzoombox.children('div.enlarged').append(jQuerydesc);
		
		return false;
	});
	
	jQuery('div.picture-in-picture ul.images li').live('click', function()
	{
		jQueryzoombox = jQuery(this).parents('div.picture-in-picture');
		
		jQueryimg = jQueryzoombox.children('div.enlarged').children('img');
		jQueryimg.imgload(jQuery(this).children('a').attr('href'), { path: config.images_dir });
		
		return false;
	});
	
	
	// ZOOM BOX END
	
	// GALLERIES SLIDERS END
	
	// SLIDERS BEGIN

	jQuery('div.flickr-feed').slider
	({
		nav: 'ul.slider-nav',
		items: 'ul.items',
		visible: 2,
		slide: 2,
		speed: 500,
		on_show: setup_lightbox
	});
	
	jQuery('#partners').slider
	({
		nav: 'ul.slider-nav',
		items: 'ul.items',
		visible: 5,
		slide: config.partners.slide,
		speed: config.partners.speed,
		fade: config.partners.fade,
		easing: config.partners.easing
	});
	
	jQuery('div.success-stories').slider
	({
		nav: 'ul.slider-nav',
		items: 'ul.items',
		wrapper_class: 'success-stories-wrapper',
		visible: 1,
		slide: 1,
		speed: config.success_stories.speed,
		fade: config.success_stories.fade,
		easing: config.success_stories.easing,
		on_show: setup_lightbox
	});
	
	jQuery('div.success-stories-wrapper').css
	({
		'padding-left': '1px',
		'padding-right': '1px'
	});
	
	jQuery('div.testimonials').each( function()
	{
		width = jQuery(this).width();
		
		jQuery(this).children('ul.items').children('li').css('width', width - (width * 0.2));
	});
	
	jQuery('div.testimonials').slider
	({
		nav: 'ul.slider-nav',
		items: 'ul.items',
		visible: 1,
		slide: 1,
		speed: config.testimonials.speed,
		fade: config.testimonials.fade,
		easing: config.testimonials.easing,
		auto_height_parent: true
	});
	
	
	// SLIDERS END

	jQuery('div.displays ul.slider-nav li.prev').live('click', function()
	{
		var width = jQuery(this).parents('div.displays').width() / 2;
		jQuerydisplays = jQuery(this).parents('div.displays').children('ul.images');
		var single = jQuery(this).parents('div.displays').hasClass('single');
		
		jQuerybig = jQuerydisplays.children('li.big');
		jQuerymedium = jQuerydisplays.children('li.medium');
		jQuerysmall = jQuerydisplays.children('li.small');
		jQueryhidden = jQuerydisplays.children('li.hidden');
		
		if (jQuerydisplays.children('li:animated').length == 0)
		{
			if ( ! single)
			{
				if (jQuerybig.not('animated'))
				{
					if (jQuerybig.length == 1 && jQuerymedium.length == 2 && jQuerysmall.length == 2)
					{
						jQuerysmall_left = (jQuerysmall.first().position().left < width ? jQuerysmall.first() : jQuerysmall.last());
						jQuerymedium_left = (jQuerymedium.first().position().left < width ? jQuerymedium.first() : jQuerymedium.last());
						jQuerymedium_right = (jQuerymedium.first().position().left > width ? jQuerymedium.first() : jQuerymedium.last());
						jQuerysmall_right = (jQuerysmall.first().position().left > width ? jQuerysmall.first() : jQuerysmall.last());
						jQueryhidden_left = jQueryhidden.first();
						
						if (jQueryhidden_left.length == 0)
						{
							animate_display(jQuerysmall_right, 'small', -1);
						} else
						{
							animate_display(jQueryhidden.last(), 'small', -1);
							animate_display(jQuerysmall_right, 'hidden', -1);
						}
						
						animate_display(jQuerysmall_left, 'medium', -1);
						animate_display(jQuerymedium_left, 'big', -1)
						animate_display(jQuerybig, 'medium', 1);
						animate_display(jQuerymedium_right, 'small', 1);
					} else if (jQuerybig.length == 1 && jQuerymedium.length == 2 && jQuerysmall.length == 0)
					{
						jQuerymedium_left = (jQuerymedium.first().position().left < width ? jQuerymedium.first() : jQuerymedium.last());
						jQuerymedium_right = (jQuerymedium.first().position().left > width ? jQuerymedium.first() : jQuerymedium.last());
						jQueryhidden_left = jQueryhidden.first();
						
						if (jQueryhidden_left.length == 0)
						{
							animate_display(jQuerymedium_right, 'medium', -1);
						} else
						{
							animate_display(jQueryhidden.last(), 'medium', -1);
							animate_display(jQuerymedium_right, 'hidden', -1);
						}
						
						animate_display(jQuerymedium_left, 'big', -1)
						animate_display(jQuerybig, 'medium', 1);
					} else if (jQuerybig.length == 0 && jQuerymedium.length == 1 && jQuerysmall.length == 2)
					{
						jQuerysmall_left = (jQuerysmall.first().position().left < width ? jQuerysmall.first() : jQuerysmall.last());
						jQuerysmall_right = (jQuerysmall.first().position().left > width ? jQuerysmall.first() : jQuerysmall.last());
						jQueryhidden_left = jQueryhidden.first();
						
						if (jQueryhidden_left.length == 0)
						{
							animate_display(jQuerysmall_right, 'small', -1, displays_alt);
						} else
						{
							animate_display(jQueryhidden.last(), 'small', -1, displays_alt);
							animate_display(jQuerysmall_right, 'hidden', -1, displays_alt);
						}
						
						animate_display(jQuerysmall_left, 'medium', -1, displays_alt)
						animate_display(jQuerymedium, 'small', 1, displays_alt);
					}
				}
			} else
			{
				jQueryitems = jQuerydisplays.children('li');
				current = jQueryitems.index(jQuerydisplays.children('li:visible'));
				prev = current - 1
				
				if (prev < 0)
				{
					prev = jQueryitems.length - 1;
				}

				jQueryitems.eq(current).fadeOut();
				jQueryitems.eq(prev).fadeIn();
			}
		}
		
		return false;
	});
	
	jQuery('div.displays ul.slider-nav li.next').live('click', function()
	{
		var width = jQuery(this).parents('div.displays').width() / 2;
		jQuerydisplays = jQuery(this).parents('div.displays').children('ul.images');
		var single = jQuery(this).parents('div.displays').hasClass('single');
		
		jQuerybig = jQuerydisplays.children('li.big');
		jQuerymedium = jQuerydisplays.children('li.medium');
		jQuerysmall = jQuerydisplays.children('li.small');
		jQueryhidden = jQuerydisplays.children('li.hidden');
		
		if (jQuerydisplays.children('li:animated').length == 0)
		{
			if ( ! single)
			{
				if (jQuerybig.not('animated'))
				{
					if (jQuerybig.length == 1 && jQuerymedium.length == 2 && jQuerysmall.length == 2)
					{
						jQuerysmall_left = (jQuerysmall.first().position().left < width ? jQuerysmall.first() : jQuerysmall.last());
						jQuerymedium_left = (jQuerymedium.first().position().left < width ? jQuerymedium.first() : jQuerymedium.last());
						jQuerymedium_right = (jQuerymedium.first().position().left > width ? jQuerymedium.first() : jQuerymedium.last());
						jQuerysmall_right = (jQuerysmall.first().position().left > width ? jQuerysmall.first() : jQuerysmall.last());
						jQueryhidden_right = jQueryhidden.last();
						
						if (jQueryhidden_right.length == 0)
						{
							animate_display(jQuerysmall_left, 'small', 1);
						} else
						{
							animate_display(jQueryhidden.last(), 'small', 1);
							animate_display(jQuerysmall_left, 'hidden', 1);
						}
						
						animate_display(jQuerysmall_right, 'medium', 1);
						animate_display(jQuerymedium_right, 'big', -1)
						animate_display(jQuerybig, 'medium', -1);
						animate_display(jQuerymedium_left, 'small', -1);
					} else if (jQuerybig.length == 1 && jQuerymedium.length == 2 && jQuerysmall.length == 0)
					{
						jQuerymedium_left = (jQuerymedium.first().position().left < width ? jQuerymedium.first() : jQuerymedium.last());
						jQuerymedium_right = (jQuerymedium.first().position().left > width ? jQuerymedium.first() : jQuerymedium.last());
						jQueryhidden_right = jQueryhidden.last();
						
						if (jQueryhidden_right.length == 0)
						{
							animate_display(jQuerymedium_left, 'medium', 1);
						} else
						{
							animate_display(jQueryhidden.last(), 'medium', 1);
							animate_display(jQuerymedium_left, 'hidden', 1);
						}
						
						animate_display(jQuerymedium_right, 'big', -1)
						animate_display(jQuerybig, 'medium', -1);
					} else if (jQuerybig.length == 0 && jQuerymedium.length == 1 && jQuerysmall.length == 2)
					{
						jQuerysmall_left = (jQuerysmall.first().position().left < width ? jQuerysmall.first() : jQuerysmall.last());
						jQuerysmall_right = (jQuerysmall.first().position().left > width ? jQuerysmall.first() : jQuerysmall.last());
						jQueryhidden_right = jQueryhidden.last();
						
						if (jQueryhidden_right.length == 0)
						{
							animate_display(jQuerysmall_left, 'small', 1, displays_alt);
						} else
						{
							animate_display(jQueryhidden.last(), 'small', 1, displays_alt);
							animate_display(jQuerysmall_left, 'hidden', 1, displays_alt);
						}
						
						animate_display(jQuerysmall_right, 'medium', -1, displays_alt)
						animate_display(jQuerymedium, 'small', -1, displays_alt);
					}
				}
			} else
			{
				jQueryitems = jQuerydisplays.children('li');
				current = jQueryitems.index(jQuerydisplays.children('li:visible'));
				next = current + 1

				if (next > jQueryitems.length - 1)
				{
					next = 0;
				}
				
				jQueryitems.eq(current).fadeOut();
				jQueryitems.eq(next).fadeIn();
			}
		}
		
		return false;
	});

	setup_background(jQuery('div.background'));
	
	jQuery('div.background > div.slider-wrapper').live('mousemove', function(e)
	{
		width = jQuery(this).width();
		height = jQuery(this).height();

		if (e.pageY - jQuery(this).offset().top > height - height / 8)
		{
			jQuery(this).nextAll('ul.slider-pagination').show();
		} else
		{
			jQuery(this).nextAll('ul.slider-pagination').hide();
		}
		
		if (e.pageX - jQuery(this).offset().left < width / 6)
		{
			jQuery(this).nextAll('ul.slider-nav').children('li.prev').show();
		} else
		{
			jQuery(this).nextAll('ul.slider-nav').children('li.prev').hide();
		}
		
		if (e.pageX - jQuery(this).offset().left > width - width / 6)
		{
			jQuery(this).nextAll('ul.slider-nav').children('li.next').show();
		} else
		{
			jQuery(this).nextAll('ul.slider-nav').children('li.next').hide();
		}
	});
	
	jQuery('div.background ul.slider-pagination li').live('hover', function()
	{
		jQuery(this).parent().show();
	}, function()
	{
	});
	
	jQuery('div.background ul.slider-nav li').live('hover', function()
	{
		jQuery(this).show();
		jQuery(this).parents('div.background').children('ul.slider-pagination').show();
	}, function()
	{
		jQuery(this).parents('div.background').children('ul.slider-pagination').hide();
	});
	
	jQuery('div.background div.slider-wrapper').live('hover', function()
	{
		
	}, function()
	{
		jQuery(this).nextAll('ul.slider-nav').children('li').hide();
		jQuery(this).nextAll('ul.slider-pagination').hide();
	});
	
	jQuery('div.simple').each( function()
	{
		setup_simple(jQuery(this));
	});
	
	jQuery('div.simple ul.slider-pagination li').live('click', function()
	{
		if ( ! jQuery(this).hasClass('current'))
		{
			index = jQuery(this).parent().children('li').index(this);
			jQuery(this).parent().children('li').removeClass('current').eq(index).addClass('current');
			
			jQueryitems = jQuery(this).parents('div.simple').children('ul.items');

			jQueryitems.children('li:visible').fadeOut(500);
			jQueryitems.children('li').eq(index).fadeIn(500);
		}
		
		return false;
	});
	
	jQuery('div.pure').each( function()
	{
		setup_pure(jQuery(this));
	});
	
	setup_video(jQuery('div.video'));

	setup_wide(jQuery('div.wide'));
	
	jQuery('div.background ul.slider-pagination, div.wide ul.slider-pagination, div.pure ul.slider-pagination').addClass('bottom-middle');
	
	jQuery('div.background ul.slider-nav li').live('click', function()
	{
		return false;
	});
	
	// DESCRIPTION FOR IMAGES FROM TITLE ATTRIBUTE BEGIN
	
	jQuery('a.frame > img').each( function()
	{
		width = jQuery(this).width();
			
		if (jQuery(this).next('span.title-description').length > 0)
		{
			jQuery(this).next('span.title-description').css('width', width);
		}
	});
		
	// DESCRIPTION FOR IMAGES FROM TITLE ATTRIBUTE END
	
	// LIGHTBOX BEGIN
	
	jQuery('div.columns > div > a.frame, div.columns > div > p > a.frame, div.columns > div > ul.news > li > a.frame, div.columns > div > ul.news > li > p > a.frame, div.nivo-slider > a, #partners a, div.header > a.frame').each( function()
	{
		if (jQuery(this).children('img').length > 0)
		{
			ext = jQuery(this).attr('href');
			ext = ext.substring(ext.length-3, ext.length).toLowerCase();

			if (ext == 'jpg' || ext == 'gif' || ext == 'png')
			{
				jQuery(this).lightbox
				({
					id: 'single',
					path: config.images_dir,
					speed: 500,
					single: true
				});
			}
		}
	});

	jQuery('a[rel=lightbox]').lightbox
	({
		id: 'frame-images',
		path: config.images_dir,
		speed: 500,
		single:true
	});

	// LIGHTBOX END
});
